package net.xo68.destiny.core.timingwheel.impl;

import net.xo68.destiny.core.timingwheel.TimingWheelTaskExecutor;
import net.xo68.destiny.core.timingwheel.TimingWheelTaskSequencer;
import net.xo68.destiny.core.timingwheel.handle.TimeoutEventHandler;

import java.io.Serializable;

/**
 * 时光轮调度
 * @author wuxie
 * @version 2020-10-16
 */
public class TimingWheelImpl<T extends Serializable> extends AbstractTimingWheel<T> {

    public TimingWheelImpl(String name, long ticksPerWheel, long tickDuration, TimingWheelTaskSequencer<T> sequencer, TimingWheelTaskExecutor taskExecutor,
                           long maxPendingTimeouts, TimeoutEventHandler<T> eventHandler) {
        super(name,ticksPerWheel,tickDuration,sequencer,taskExecutor,maxPendingTimeouts,eventHandler);
    }
    public TimingWheelImpl(String name, long ticksPerWheel, long tickDuration, TimingWheelTaskSequencer<T> sequencer, int threadCount, long maxPendingTimeouts, TimeoutEventHandler<T> eventHandler) {
        super(name,ticksPerWheel,tickDuration,sequencer,threadCount,maxPendingTimeouts,eventHandler);
    }
    public TimingWheelImpl(String name, TimingWheelTaskSequencer<T> sequencer, TimeoutEventHandler<T> eventHandler) {
        super(name,sequencer,eventHandler);
    }




}
